[小ネタ] CloudWatch メトリクスのグラフをローカルに保存しちゃうぞ!
おつかれさまです。サーバーレス開発部の新井です。
最近、コンソールから CloudWatch メトリクスをポチポチいじることが多いのですが、 グラフの画像をメンバーに共有するときいちいちスクショ撮るのが面倒だったので、簡単に画像エクスポートする方法ないのか?と調べていたところ、AWS CLIで出来そうでだったのでこちらを紹介したいと思います。
【公式ドキュメント】
- https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-widget-image.html
AWSのコンソールでポチポチいじる
1. 出力したいグラフを選択する
「すべてのメトリクス」の項目で、でグラフ化したいメトリクスを選択します。
今回は API Gateway のメトリクス
- Count (リクエスト回数)
- 5XXError (500系のエラー回数)
を CloudWatch メトリクスに表示しています。
2. グラフを整形する
「グラフのオプション」の項目で、タイトル、凡例、軸、などいろいろ操作出来ます。
見た目がなんとなく良くなります。
ちなみに、Widget Type
をスタックエリア
に変えたらなぜかグラフがバグっていました。。。
3. 出力形式をコピーしてCLI実行
「ソース」の項目で、イメージAPIを選択しJSONデータをコピーして、ローカルにmetrics.json
というファイルで保存します。
- コマンド実行
# AWS CLIのバージョン $ aws --version aws-cli/1.16.86 Python/3.6.2 Linux/4.15.0-50-generic botocore/1.12.84 # コマンド実行 $ aws cloudwatch get-metric-widget-image --metric-widget file://metrics.json --output-format "png" --output text --query MetricWidgetImage | base64 --decode > metrics.png
- 取得したpng画像ファイル
はい、これで画像ファイル取得できましたね!
まとめ
いかがだったでしょうか。
意外と知らない人多いのでは?と思ったので、宣伝の意味も込めてブログ書きました。
以上、どなたかの役に立てば幸いです。